home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / magic / d / mtrsc.d < prev    next >
Text File  |  1997-10-26  |  5KB  |  105 lines

  1. (*----------------------------------------------------------------------*
  2.  *                                                                      *
  3.  *  MAGICTOOLS   Modula's  All purpose  GEM  Interface  Cadre  Toolbox  *
  4.  *               ÿ         ÿ            ÿ    ÿ          ÿ               *
  5.  *----------------------------------------------------------------------*
  6.  * Version 3.30  02.02.1992     (C)90/91/92 by Peter Hellinger Software *
  7.  *----------------------------------------------------------------------*
  8.  *            Dieses Modul ist urheberrechtlich geschtzt.              *
  9.  *                                                                      *
  10.  * Die Ver”ffentlichung des Quelltextes oder Teilen daraus, sowie die   *
  11.  * Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
  12.  * oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail-    *
  13.  * boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen    *
  14.  * Einverst„ndnisserkl„rung des Autors.                                 *
  15.  *                                                                      *
  16.  * Die Verbreitung des Moduls als Teil eines gelinkten Programms ist    *
  17.  * fr Lizenznehmer ausdrcklich erlaubt!  Der Autor beh„lt sich das    *
  18.  * Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
  19.  * widerrufen.                                                          *
  20.  *----------------------------------------------------------------------*)
  21.  
  22. (*----------------------------------------------------------------------*
  23.  * mtRsc        Mehrere Resourcen in einem Programm verwenden...        *
  24.  *                                                                      *
  25.  * Dieses Modul erm”glicht es, verschiedene RSC-Files in einem Programm *
  26.  * zu benutzen. Dazu stellt das Modul alle Funktionen der AES-Resource- *
  27.  * Routinen zur Verfgung. Die original AES-Routinen arbeiten IMMER mit *
  28.  * der zuletzt benutzten Resource. Alle ber dieses Modul geladenen Re- *
  29.  * sourcen werden bei Aufruf von mtAppl.ApplTerm freigegeben            *
  30.  *----------------------------------------------------------------------*)
  31.  
  32. DEFINITION MODULE mtRsc;
  33.  
  34. FROM MagicSys   IMPORT  Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
  35.                         Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
  36.                         Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
  37.                         sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
  38.  
  39.  
  40.  
  41.  
  42.  
  43. IMPORT SYSTEM;
  44.  
  45. TYPE    RESOURCE;
  46.  
  47. TYPE
  48.         RSXHDR =  RECORD
  49.                     rshVrsn    : sCARDINAL;     (* 3 fr langen Header        *)
  50.                     rshExtvrsn : sCARDINAL;     (* 'IN' bei RSC von Interface *)
  51.                     rshObject  : lCARDINAL;
  52.                     rshTedinfo : lCARDINAL;
  53.                     rshIconblk : lCARDINAL;
  54.                     rshBitblk  : lCARDINAL;
  55.                     rshFrstr   : lCARDINAL;
  56.                     rshString  : lCARDINAL;
  57.                     rshImdata  : lCARDINAL;
  58.                     rshFrimg   : lCARDINAL;
  59.                     rshTrindex : lCARDINAL;
  60.                     rshNobs    : lCARDINAL;
  61.                     rshNtree   : lCARDINAL;
  62.                     rshNted    : lCARDINAL;
  63.                     rshNib     : lCARDINAL;
  64.                     rshNbb     : lCARDINAL;
  65.                     rshNstring : lCARDINAL;
  66.                     rshNimages : lCARDINAL;
  67.                     rshRssize  : lCARDINAL;
  68.                   END;
  69.  
  70. PROCEDURE LoadRsc (REF  name: ARRAY OF CHAR; VAR rsc: RESOURCE): BOOLEAN;
  71. (* L„dt ein Resourcefile.  TRUE wenn erfolgreich *)
  72.  
  73. PROCEDURE RelocRsc (adress: SYSTEM.ADDRESS; VAR rsc: RESOURCE): BOOLEAN;
  74. (* Reloziert eine Resource, die bereits im Speicher ist. Kann dazu 
  75.  * benutzt werden, um Programm-Interne Resourcen zu relozieren. Geht 
  76.  * davon aus, daž das gesamte Resource-File incl. Header etc. im 
  77.  * Speicher steht! Der Q&D RSCCODER (im Lieferumfang von Magic) erzeugt
  78.  * aus einem RSC-File die entsprechenden Daten. TRUE wenn erfolgreich.
  79.  *)
  80.  
  81. PROCEDURE FreeRsc (VAR rsc: RESOURCE);
  82. (* Gibt Resource wieder frei. *)
  83.  
  84. PROCEDURE FreeAll;
  85. (* Gibt alle Resourcen wieder frei. *)
  86.  
  87. PROCEDURE GaddrRsc (rsc: RESOURCE; type, item: sINTEGER): SYSTEM.ADDRESS;
  88. (* Wie MagicAES.RsrcGaddr, jedoch mit der aktuellen Resource *)
  89.  
  90. PROCEDURE SaddrRsc (rsc: RESOURCE; type, item: sINTEGER; tree: SYSTEM.ADDRESS);
  91. (* Wie MagicAES.RsrcSaddr, jedoch mit der aktuellen Resource *)
  92.  
  93. PROCEDURE ObfixRsc (rsc: RESOURCE; tree: SYSTEM.ADDRESS; object: sINTEGER);
  94. (* Wie MagicAES.RsrcObfix, jedoch mit der aktuellen Resource *)
  95.  
  96. PROCEDURE GetRscHeader (rsc: RESOURCE; VAR hdr: RSXHDR);
  97. (* Liefert den RscHeader im langen Format *)
  98.  
  99. PROCEDURE InitMtRsc;
  100. (* Initialisiert die MtRscs. Wird normalerweise im Modulk”rper
  101.  * aufgerufen, und braucht nicht weiter beachtet zu werden.
  102.  *)
  103. END mtRsc.
  104.  
  105.